perm filename RCV.BH[UP,DOC] blob
sn#220641 filedate 1976-06-21 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 The RCV Program
C00027 ENDMK
C⊗;
The RCV Program
The RCV program allows MAIL messages to be selectively deleted, listed, or
saved as desired. The program is called by simply entering the monitor
command RCV. All mail files which can be construed as being for you are
offered for your perusal. It is also possible to edit other users' mail
files with RCV by giving an argument, e.g., RCV BH. The command RCV * will
allow editing of the system message file NOTICE.TXT[2,2], and RCV GRIPE will
allow editing of messages sent by the GRIPE command. Most mail files are
maintained in E format, and E format is not preserved when such a file is
edited with RCV--therefore:
*** NOTE: IF YOU EDIT AN E-FORMATTED FILE, RCV WILL INVALIDATE ***
*** THE DIRECTORY PAGE AND ISSUE A WARNING. SUCH FILES SHOULD ***
*** USUALLY BE EDITED WITH E TO PRESERVE THE PAGES AND FORMAT. ***
RCV also allows editing of the files created by the news service automatic
notification feature; the command RCV \ will present your notifications for
editing, and RCV \PRG will allow you to edit the notifications sent to user
PRG.
It is also possible to use RCV on files not in [2,2] (such as saved message
files previously created with RCV) with a command like:
RCV #filename
with default of DSK:SAVED.MSG in your (alias) disk area. The conventions
given below for output filenames also apply here.
Finally, the command RCV ?PRG will type the plan file for user PRG, if there
is such a file. In this case, the file is merely typed, not edited.
** NOTE: ONCE RCV HAS OPENED A MESSAGE FILE, YOU SHOULD EXIT ONLY **
** BY TYPING "E" TO AN OPTION REQUEST, AS EXPLAINED BELOW. TYPING **
** <CALL> TO EXIT MAY RESULT IN LOSING SOME OF YOUR MESSAGE TEXT! **
If none of the messages in an input file is deleted or changed, RCV does not
write out a new version of the file; thus the file's time and date written
are unchanged, and, particularly, any ETV directory the file may have had is
still intact.
RCV deletes without comment all formfeed characters in any file edited (that
is, any file actually changed). Thus any page structure of such a file is
destroyed by RCV.
When a mail file is opened, messages are typed out one at a time, and for
each message you may select several processing options, in the format
<options> [ <space> <filename> ] <cr>
where the [...] represents an optional argument. Each option is represented
by a letter; more than one may be used, except that a few options must be
used alone, as noted below. The filename may be specified if you select the
C (copy) or T (transfer) option. For help in specifying a file, use ? as
the filename. Here are the option letters which select a final disposition
for the message:
S Save the message in the mail file.
D Delete it from the mail file.
C Copy it to a file of your choice.
T Transfer it to a file. Like CD.
L LPT spool it.
X XGP spool it.
K Transfer it to the file LOGOUT.MSG, which will be typed automatically
when you log out.
If none of the above are used, the message will be Saved. Combinations may
be used, e.g., LD will spool the message on the LPT and also delete it from
the mail file. The message will be Saved unless D or T is explicitly
specified. Along with any of the above (or alone, implying S) may be used
at most one of the following editing options:
A Append to the message from the terminal.
Z (Stanford displays only) Edit the message line-by-line using the
system line editor. If you need help with this facility, type
<control><meta>? after entering the line editing mode.
M (Stanford displays only) Modify the message by running the text
editor, E, with that message as its input. Return from E by typing
<control>X RUN.
Along with any of the above, or alone, can be used the following option
letters to avoid seeing more messages:
E Exit, and enter spooling requests from L or X options.
N Go to the Next mail file, if any, else exit like E.
If the message was longer than the amount RCV types out before asking for
option requests, the following option may be used along with any others
specified:
Q Quiet processing; do not type the remainder of the message while
processing it as usual.
Note: E or N with no other options implies Q automatically. Alternatively,
any of the following may be used as the only option, for special processing:
P Postpone the decision for this message. This applies only if the
message was longer than the amount RCV types before asking for
options, and you wish to see the rest of the message before choosing
options.
? Type this option list.
Spooling requested by L or X is not done until RCV is exited (by typing E to
an option request, or by running out of input). The default filename for C
and T is DSK:SAVED.MSG in your alias area. Filenames may only be given
along with a C or T option; if C or T is used without a filename the
previous file is continued. (The first time, you will be asked for a
filename, which may be simply <cr> for SAVED.MSG.)
If you use an argument in the RCV command to edit another user's mail, the
first time you specify any option which would remove a message from the mail
file or alter its contents you are asked to confirm it. Once you have
confirmed such an option, however, you are not asked again.
There are two options provided at Stanford displays for editing the text of
a message. The M option writes the message in a disk file, QQRCV.TMP, and
runs the E editor, which allows great flexibility because of E's powerful
editing capability. However, it is rather slow, because all of RCV's
internal information and all the message files must be saved on the disk.
For minor corrections to a short message, you may prefer the weaker but
faster editing capability provided in RCV itself by the Z option. If you
select that option, the lines in your message will be presented to you one
by one in your terminal's line editor. You may edit each line, using the
normal line editor commands, and type <cr> when done with a line. You may
also type the following special characters (α means control, β means meta):
α<cr> Accept the current line as it now appears in your line editor
buffer and stop line editing, accepting the rest of the message
as is.
αβD Delete the current line.
<alt> Undo the changes in this line, loading a fresh copy into the
line editor.
αβ<cr> Accept lines to be inserted before the current line, until an
inserted line is terminated with α<cr> instead of <cr>, or
<alt> is typed at a blank line.
αβI Same as αβ<cr>.
αD (at the end of a line) Combine this and the next line and load
the combined line into the line editor.
β<cr> Break the line at the cursor, accepting the text to the left of
the cursor as it stands and editing the remaining text as a new
line.
αβA Leave line edit mode, as for α<cr>, but accept text from the
terminal to be appended after the existing text, as if the A
option had been selected.
αβ? Type this list.
Blank lines presented for editing in the Z option are indicated by the
typing out of a space before loading the line editor with the empty line;
thus originally empty lines will be indented in the typeout. In both M and
Z options, the initial header line is not edited. In the Z option, the
blank line at the end of the message is not edited. In the A option,
appended text will be inserted in front of the blank line at the end of the
message, unless the P option was previously used on the current message.
The first time you specify C or T, you are asked to specify a file name if
one was not included in the option line. You can reply with either a
standard filename, ?, or <cr>. Just <cr> uses the default file name,
DSK:SAVED.MSG in your (alias) area. Just ? will print a helpful message and
let you try again. Thereafter, whatever file you specified will be used for
all C and T messages (the file is not closed until you exit or select
another one) until you specify a new filename along with a C or T option as
described above. Note: if the specified file already exists and is in E
format, the new messages are added at the end of the file preceded by a
single formfeed; if the file already exists but is not in E format, the new
messages are added at the beginning of the file. If the file does not
already exist, it is created in E format and a warning that you are creating
a new file is issued.
If all messages are removed from an input file, the file is deleted after
all output files are closed, unless the input file is named OUTGO.MSG in
which case the empty file (which may actually contain a few spaces, carriage
returns, and linefeeds) will survive. If none of the messages in an input
file is deleted or changed, RCV does not write out a new version of the
file; thus the file's time and date written are unchanged, and,
particularly, any ETV directory the file may have had is still intact.
The notation ↓chars↓ may be used to get non-alphameric characters in a
filename. In addition, a shorthand notation is provided for entering names
of mail files: if the character ∂ is the first character of the filename,
then the device becomes DSK, the default extension .MSG, and the default ppn
[2,2]. (The extension and ppn can be changed later in the filename.) If
the next non-blank character is not alphameric, the filename used is your
programmer name right justified, e.g., ↓ REG↓. (Note that this is your
own login name, not the name whose mail you are editing.) Thus, the
filename ∂ represents your own mail file. You can specify a different
programmer name with the format ∂prg and either this or the format ∂ can
also be optionally followed by an extension and/or a PPN to change the
default values as described above, e.g., ∂.PUR or ∂[1,ME].
RCV has a fairly small message buffer. If a message is longer than that
buffer, seeing the first few lines of the message may tell you enough about
it to decide how to process it without seeing the rest. Therefore, in that
case, you will see as much as fits, followed by an overflow notice and an
option request. After you enter the desired options, the remainder of the
message will be typed as it is being processed, so you may safely use the
Delete option and you will still see the rest of the message. If you want
to avoid this continued typeout, type the letter Q (for Quiet) before your
option choice, e.g., QD for Quiet Delete. Q is only recognized when a
message overflows. If you select E or N with no other options, you get Q
automatically. If this is not what you want, type, e.g., SE. If you wish,
you may postpone the decision on how to process the message until after
seeing the rest of it, by typing P to the option request. This will type
the remainder of the message and ask again for options. QP is illegal, and
P is only legal when a message overflows.
RCV may be used when not logged in; however, each user can control access to
his own mail, by OPTION.TXT options. Three possibilities are available.
The default is no access. To allow your mail to be read but not modified,
put
RCV:READ
in your OPTION.TXT file. If the not-logged-in user types RCV PRG the file
examined is OPTION.TXT[1,PRG]. You may also allow not-logged-in users to
edit your mail file as if they were logged in by using
RCV:WRITE
as the option.
Not-logged-in users at Stanford display terminals (Data Disc or III) always
have at least READ access to mail.
It should be noted that the normal file protection mechanism still applies,
so that most options which involve copying the message to another file will
not work when not logged in. This includes C, T, K, L, X, M, and P.
A not-logged-in user who is reading mail as permitted by the READ option may
safely use <call> to quit RCV.
There is a special option available in RCV for reading the A.P. news
digest. This option is provided when the RCV command is given without an
argument, if you have an OPTION.TXT file with a line of the form
RCV:DIGEST;
You are asked "Read A.P. digest?" if the digest file exists. This option
may be used along with READ or WRITE as described earlier.
Another special option available through the OPTION.TXT file is:
RCV:NOMAIL;
If you have this option and give the RCV command without an argument, RCV
ignores your main message file and simply processes any other files which it
would normally handle. This is provided for users of various special RCV
features (such as DIGEST above) who use E to edit their mail files since
mail files are now normally in E format. To override the NOMAIL option
(i.e., to edit your mail file with RCV), give your programmer name
explicitly in the command, e.g., RCV PRG.
For use at non-Stanford terminals, RCV has a mode in which it accepts tty
input in SOS representation (see Appendix 13 of the Monitor Command Manual,
in the file MONCOM.BH[S,DOC]). The main reason for this is to allow ?*
instead of ∂ for redirecting messages to another mail file, but it can also
be used with the append option to allow appending upper/lower case text from
an upper-case-only terminal. The following notes apply:
1. When RCV is started, it decides whether or not to use SOS representation
on the basis of the FCS (full character set) bit maintained for each
terminal by the monitor. This bit is set by the TTY FULL command (or ESC F
at a Stanford display) and cleared by TTY NO FULL (or BREAK F).
2. Whenever RCV reads an altmode character from the tty, it will enter SOS
mode and otherwise ignore the altmode, except that if you are already in SOS
mode the sequence ?<alt> will leave that mode. (If you are not in SOS mode,
of course, the ? will be taken as a real question mark and the <alt> will
enter SOS mode!)
3. These comments apply even to the original command line, although the
monitor will echo a crlf after the altmode to confuse you. Note that if
your FCS bit is off and you want to invoke the RCV feature which types a
user's plan file, you must say RCV ??prg instead of RCV ?prg as usual.
4. Under no circumstances is tty output done via SOS conversion. I hate
seeing all those question marks!
5. If you are in SOS mode and type ? followed by a character which is not
defined as an SOS code, the character will be treated, and echoed, as
ASCII 7; this will ring your tty's bell if it has one, give an error message
if you are responding to an option request, and insert a π in your message
if you are appending.